// register
import register from '../../../scripts/angular/register.js';

// routers
import RunnerRouter from '../routers/runner.routers.js';

// services
import RunnerService from '../services/runnerService.js';
import GroupaliasService from '../services/groupaliasService.js';
import GroupService from '../services/groupService.js';
import TeamService from '../services/teamService.js';

// controllers
import RunnerController from '../controllers/runner.controller.js';
import RunnerListController from '../controllers/runnerlist.controller.js';
import RunnerEditController from '../controllers/runneredit.controller.js';
import RunnerImportController from '../controllers/runnerimport.controller.js';

import GroupaliasListController from '../controllers/groupaliaslist.controller.js';
import GroupaliasController from '../controllers/groupalias.controller.js';
import GroupaliasEditController from '../controllers/groupaliasedit.controller.js';

import GroupController from '../controllers/group.controller.js';
import GroupListController from '../controllers/grouplist.controller.js';
import GroupEditController from '../controllers/groupedit.controller.js';

import TeamController from '../controllers/team.controller.js';
import TeamListController from '../controllers/teamlist.controller.js';
import TeamEditController from '../controllers/teamedit.controller.js';


angular
	.module('runner.module', [
		'ngAnimate', 
		'ngSanitize', 
		'ui.router',
	    'ngMessages',  
		'chieffancypants.loadingBar', 
		'ngDialog', 
	    'mgcrea.ngStrap', 
		'oc.lazyLoad',
		'ng-sortable' 
	])
	.config(RunnerRouter)
	.controller('RunnerController', RunnerController)
	.controller('RunnerListController', RunnerListController)
	.controller('RunnerEditController', RunnerEditController)
	.controller('RunnerImportController', RunnerImportController)

	.controller('GroupaliasListController', GroupaliasListController)
	.controller('GroupaliasController', GroupaliasController)
	.controller('GroupaliasEditController', GroupaliasEditController)

	.controller('GroupController', GroupController)
	.controller('GroupListController', GroupListController)
	.controller('GroupEditController', GroupEditController)

	.controller('TeamController', TeamController)
	.controller('TeamListController', TeamListController)
	.controller('TeamEditController', TeamEditController);



register('runner.module')
    .factory('RunnerService', RunnerService)
    .factory('GroupaliasService', GroupaliasService)
    .factory('GroupService', GroupService)
    .factory('TeamService', TeamService);